ABC286 D - Money in Hand
https://atcoder.jp/contests/abc286/tasks/abc286_d
提出
code: python
import itertools
n, x = list(map(int, input().split()))
ab = list(map(int, input().split())) for _ in range(n)
# print(pow(50, 50))
wa = []
for a, b in ab:
tmp = []
for i in range(b+1):
tmp.append(a*i)
wa.append(tmp)
# print(wa)
# 0, 2, 4, 6], [0, 5, 10, 15, 20, 25, 30
# 19 % 5 = 4
解答
code: python
n, x = map(int, input().split())
# 2 19
ab = list(map(int, input().split())) for _ in range(n)
# 2, 3], [5, 6
# dpij: i種類の硬貨でj円を払うことができるのか
dp = [False for _ in range(x+1) for __ in range(n+1)]
dp00 = True
for i in range(n):
for j in range(x+1):
a = abi0
b = abi1
for k in range(b+1):
if dpij and j + a*k <= x:
dpi+1j + a*k = True
if dpnx:
print("Yes")
else:
print("No")
テーマ
#dp
メモ
https://note.com/kai1023/n/nf116047654aa#52b97b9e-a796-4319-b055-3d8c2d8cc07b
提出
code: python
n, x = map(int, input().split())
ab = list(map(int, input().split())) for _ in range(n)
# print(ab)
# 2, 3], [5, 6
# dp = False * (pow(10, 4) + 5)
# dp0 = True
# for a, b in ab:
# for i in range(1, b+1):
# dpi*a = True
# i 個で
# dpij :=
c = []
for a, b in ab:
tmp = []
for i in range(1, b+1):
tmp.append(i*a)
c.append(tmp)
print(c)
# 2, 4, 6], [5, 10, 15, 20, 25, 30
# 1], 2, [100, 200, 300, 400, 500, 600, 700, 800, 900, 1000
# pow(2, bn) * n
# for v in c: